package com.ccys.db.vo.member;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

@Data
@ApiModel("预约历史记录模型VO")
@EqualsAndHashCode(callSuper = false)
public class MemberInfoDetailVO implements Serializable {

    /**
     * 访问令牌
     */
    @JsonProperty("access_token")
    private String accessToken;

    /**
     * 年龄
     */
    @JsonProperty("age")
    private String age;

    /**
     * 过敏反应
     */
    @JsonProperty("allergies")
    private List<AllergyVO> allergies;

    /**
     * 身份证反面照片
     */
    @JsonProperty("back_identification_card_photo")
    private String backIdentificationCardPhoto;

    /**
     * 驾驶证反面照片
     */
    @JsonProperty("back_of_driving_license_photo")
    private String backOfDrivingLicensePhoto;

    /**
     * 孩子照片
     */
    @JsonProperty("child_photo")
    private String childPhoto;

    /**
     * 孩子列表
     */
    @JsonProperty("childs")
    private List<ChildVO> childs;

    /**
     * 代码
     */
    @JsonProperty("code")
    private String code;

    /**
     * 咨询地址
     */
    @JsonProperty("consult_address")
    private ConsultAddressVO consultAddress;

    /**
     * 居住国家
     */
    @JsonProperty("country_of_residence")
    private int countryOfResidence;

    /**
     * 出生日期
     */
    @JsonProperty("date_of_birth")
    private String dateOfBirth;

    /**
     * 电子邮件
     */
    @JsonProperty("email")
    private String email;

    /**
     * 紧急联系人名字
     */
    @JsonProperty("emergency_first_name")
    private String emergencyFirstName;

    /**
     * 紧急联系人姓氏
     */
    @JsonProperty("emergency_last_name")
    private String emergencyLastName;

    /**
     * 紧急联系电话
     */
    @JsonProperty("emergency_phone")
    private String emergencyPhone;

    /**
     * 紧急联系电话国家ID
     */
    @JsonProperty("emergency_phone_country_id")
    private int emergencyPhoneCountryId;

    /**
     * 紧急联系人关系
     */
    @JsonProperty("emergency_relationship")
    private String emergencyRelationship;

    /**
     * 紧急联系人关系ID
     */
    @JsonProperty("emergency_relationship_id")
    private String emergencyRelationshipId;

    /**
     * 名字
     */
    @JsonProperty("first_name")
    private String firstName;

    /**
     * 已满21岁的孩子
     */
    @JsonProperty("for_child_that_turned_21")
    private boolean forChildThatTurned21;

    /**
     * 身份证正面照片
     */
    @JsonProperty("front_identification_card_photo")
    private String frontIdentificationCardPhoto;

    /**
     * 驾驶证正面照片
     */
    @JsonProperty("front_of_driving_license_photo")
    private String frontOfDrivingLicensePhoto;

    /**
     * 是否患有葡萄糖-6-磷酸脱氢酶缺乏症
     */
    @JsonProperty("g6pd")
    private boolean g6pd;

    /**
     * 性别
     */
    @JsonProperty("gender")
    private String gender;

    /**
     * 家庭地址
     */
    @JsonProperty("home_address")
    private String homeAddress;

    /**
     * 个人咨询费用
     */
    @JsonProperty("individual_consult_fee")
    private float individualConsultFee;

    /**
     * 是否访问ThinkWell
     */
    @JsonProperty("is_access_thinkwell")
    private boolean isAccessThinkwell;

    /**
     * 是否激活Pincode
     */
    @JsonProperty("is_activated_pincode")
    private boolean isActivatedPincode;

    /**
     * 登录会话过期
     */
    @JsonProperty("login_session_expired")
    private boolean loginSessionExpired;

    /**
     * 保持登录状态
     */
    @JsonProperty("stay_logged_in")
    private boolean stayLoggedIn;

    /**
     * 语言代码
     */
    @JsonProperty("language_code")
    private String languageCode;

    /**
     * 姓氏
     */
    @JsonProperty("last_name")
    private String lastName;

    /**
     * 纬度
     */
    @JsonProperty("latitude")
    private float latitude;

    /**
     * 经度
     */
    @JsonProperty("longitude")
    private float longitude;

    /**
     * 药物反应
     */
    @JsonProperty("medication_reactions")
    private MedicationReaction[] medicationReactions;

    /**
     * 第一次登录
     */
    @JsonProperty("mem_first_login")
    private boolean memFirstLogin;

    /**
     * 成员类型ID
     */
    @JsonProperty("Mem_Type_ID")
    private int memTypeId;

    /**
     * 成员ID
     */
    @JsonProperty("member_id")
    private String memberId;

    /**
     * 国籍
     */
    @JsonProperty("nationality")
    private String nationality;

    /**
     * 是否订阅通讯
     */
    @JsonProperty("news_letter")
    private boolean newsLetter;

    /**
     * 身份证号码/外国人身份证号码
     */
    @JsonProperty("nric_fin")
    private String nricFin;

    /**
     * 办公地址
     */
    @JsonProperty("office_address")
    private String officeAddress;

    /**
     * 护照照片
     */
    @JsonProperty("passport_photo")
    private String passportPhoto;

    /**
     * 待处理的身份证号码/外国人身份证号码
     */
    @JsonProperty("pending_nric")
    private String pendingNric;

    /**
     * 电话号码
     */
    @JsonProperty("phone")
    private String phone;

    /**
     * 电话号码国家ID
     */
    @JsonProperty("phone_country_id")
    private int phoneCountryId;

    /**
     * 是否怀孕
     */
    @JsonProperty("pregnant")
    private boolean pregnant;

    /**
     * 头像照片
     */
    @JsonProperty("profile_photo")
    private String profilePhoto;

    /**
     * 再购买次数
     */
    @JsonProperty("rebuy_count")
    private int rebuyCount;

    /**
     * 注册日期
     */
    @JsonProperty("reg_date")
    private String regDate;

    /**
     * 提醒信息
     */
    @JsonProperty("reminder")
    private ReminderVO reminder;

    /**
     * 请求激活账户
     */
    @JsonProperty("request_activate_account")
    private boolean requestActivateAccount;

    /**
     * 请求更新联系信息
     */
    @JsonProperty("request_update_contact_info")
    private boolean requestUpdateContactInfo;

    /**
     * 共享孩子
     */
    @JsonProperty("shared_child")
    private int sharedChild;

    /**
     * SingPass UUID
     */
    @JsonProperty("singpass_uuid")
    private String singPassUuid;

    /**
     * 类型ID
     */
    @JsonProperty("type_id")
    private String typeId;




    public  class MedicationReaction {
        // 添加药物反应相关字段...
    }

}